package com.jiot.controller.device;

import com.zg.cloud.entity.DeviceLog;
import req.device.AddDeviceLogReq;
import req.device.GetHistoryDataReq;
import req.device.GetHistoryPowerDataReq;
import req.device.GetPowerCompareReq;
import req.report.GetUserReportReq;
import resp.device.*;
import resp.report.UserReportResp;

import java.util.List;

/**
 * @author liling
 * @date 2020/10/27 10:53
 * @description
 **/
public interface DeviceLogService {

    /**
     * 单条数据插入
     * @param deviceLog
     * @return
     */
    Boolean addLog(AddDeviceLogReq deviceLog);


    /**
     * 查询历史数据
     * @param getHistoryDataReq
     * @return
     */
    List<DeviceHistoryDataResp> historyData(GetHistoryDataReq getHistoryDataReq);

    /**
     * 历史数据查询时间类型
     * @return
     */
    List<HistoryTimeTypeResp> timeType();

    /**
     * 历史数据查询数据类型
     * @return
     */
    List<HistoryDataTypeResp> dataType();

    /**
     * 电量对比时间选择类型
     * @return
     */
    List<ComparePowerTimeTypeResp> comparePowerType();

    /**
     * 用电历史数据
     * @param getHistoryPowerDataReq
     * @return
     */
    DeviceHistoryPowerResp historyPower(GetHistoryPowerDataReq getHistoryPowerDataReq);

    /**
     * 用电量对比
     * @param getPowerCompareReq
     * @return
     */
    PowerCompareResp powerCompare(GetPowerCompareReq getPowerCompareReq);

    /**
     * 更新设备电量
     */
    void updatePower();

    /**
     *
     * @return
     */
    List<PowerStatisticsResp> powerStatistics();

    /**
     * 项目设备电量列表
     * @return
     */
    List<ProjectDevicePowerListResp> devicePowerStatistics();

}
